home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / system / bios_asm.zip / BIOS.DOC < prev    next >
Internet Message Format  |  1987-08-29  |  2KB

  1. From: Ya`akov Miles <multi%dac.triumf.cdn%ubc.csnet at RELAY.CS.NET>
  2. To:   Info-IBMPC at MIT-MC
  3. Re:   BIOS Musings
  4.  
  5. You may be interested in a history of where this BIOS came from, and
  6. how it arrived in its present form.  A heavily patched,
  7. partially-functionally BIOS (with no copyright statement, or other
  8. visible indication of origin) was supplied with my IBM-PC/xt
  9. compatible 10 mHz motherboard.  In order to get my motherboard to
  10. function correctly, in other words, to work with the parity interrupt
  11. enabled and to operate with the NEC "V20", it was necessary to
  12. disassemble and thoroughly go thru this "anonymous" bios, which was
  13. hinted as supplied by Taiwan, while limping along on a name brand
  14. bios, as supplied on my previous motherboard by a different vendor.
  15. In the course of this disassembly, aided by comparison with the
  16. published IBM-PC/xt listings, it became apparent that the
  17. synchronization on horizontal retrace in the video INT 10h service was
  18. the root cause of the failure to operate with the NEC "V20", and that
  19. correcting it to correspond with logic (as in IBM's bios) caused the
  20. glitch to disappear.  I am unable to account as to why several name
  21. brand BIOS brands (excluding IBM's) had similar glitches - maybe they
  22. they were produced from similar source code, although this seems
  23. unlikely.  In any case, as evidenced by DEBUG, some of these
  24. name-brand BIOS were full of machine-level patches - did the vendor
  25. ever bother to reassemble and optimize the source code.  The code that
  26. I examined was full of recursive INT(errupt) instructions, which did
  27. not to contribute to screaming fast BIOS.  Therefore, the assembly
  28. code was rearranged so as to eliminate some of the unnecessary CALL,
  29. JMP, and especially INT instructions, as the optimization proceeded
  30. with the later releases.  The bios is (c)Anonymous, because there was
  31. no indication of the original authors...
  32.  
  33. ps: While playing around with my 10 mHz motherboard, I encountered an
  34.     unusual program called HELPME.COM, which ran at a higher pitch
  35.     than normal.  Since this program behaved normally on other (8 mHz)
  36.     turbo motherboards, my curiousity was aroused.  This eventually
  37.     led me to discover that the 10 mHz motherboard was refreshed in
  38.     hardware by channel 1 of the 8253 timer ic, and that this channel
  39.     appeared to be counting down from an unusually fast oscillator.
  40.     Maybe this could cause problems with other programs...
  41.